/*$.ajaxSetup({
	cache : false,
	async: false 
});*/ 
var util = {
    webpath:'/lampserver/',
    interfaceIp:'localhost:8080',
    
    intervalkey:null,//需要清除的定时器
	
	/**
	 * 
	 * @param {Object} 构造列表
	 */
	buildList : function(args) {
		var errMsg = args.errMsg ? args.errMsg : '系统异常，请稍后再试！';
		var isUrl = typeof args.urlOrData == "string";
		var url = isUrl ? args.urlOrData : null;
		var data = isUrl ? null : args.urlOrData;
		if (data) {
			util.doBuildList(args, data);
		} else {
			util.sendAjax(url, args.params, function(data) {
				util.doBuildList(args, data);
			}, function() {
			//失败回调
				$.dialog( {
					title : '错误',
					content : errMsg,
					icon : 'error',
					time : 3
				});
			}, "POST", "json", false,{});
		}

	},
	
	doBuildList : function(args,data) {
		var container = $('#' + args.id);
		var errMsg = args.errMsg ? args.errMsg : '系统异常，请稍后再试！';
		if (data && data.retCode == 0) {
			container.html('');
			if (data.data) {
				// 设置模板   
				container.setTemplateURL(args.tmpl, null, {
					filter_data : true
				});
				container.setParam('contextPath', sys.contextPath);
				container.setParam('currentPage', args.currentPage);
				// 给模板加载数据
				container.processTemplate(data.data);
				//设置单双行数据
				util.tableClass(args.id);
				if(data.page){
					util.paginationPage($('#'+args.pid), data.page.totalPage, parseInt(data.page.curPage-1), args.resFun,true);
				}
			}
			//返回记录为空
			if (!(data.data) || data.data.length == 0) {
				var thColums = container.prev().find('th').size();
				container.append('<tr><td colspan="' + thColums + '" style="height:30px;line-height:30px;">没有数据显示</td></tr>');
			}
		} else {
			//服务器返回失败
			$.dialog( {
				title : '错误',
				content : errMsg,
				icon : 'error',
				time : 3
			});
		}
	},
	// table行颜色变化
	tableClass : function(tbodyId){
		$('#'+tbodyId+' tr:even').addClass("one");
		$('#'+tbodyId+' tr:odd').addClass("two");
		$('.tab_list tbody tr').mouseover(function(){
			$(this).addClass('bg');
		}).mouseout(function(){
			$(this).removeClass('bg');
		});

	},
	
	/**
	 * dest : 装载分页容器 $对象
	 * pageCount : 页总记录数
	 * pageNo : 当前页数  第一页下标为 0 , 以此类推
	 * cb : 分页完成后回调函数
	 * pageBar : TRUE OR FLASE 是否需要指定跳转功能
	 * preNum : 中心页前显示页数
	 * allNum ：总显示页数
	 */
	paginationPage : function(dest , pageCount , pageNo , cb ,pageBar, preNum , allNum){
		if(util.paginationSys){
			if(!dest){
				art.dialog({
					title : '提示',
					icon : 'warning',
					time: 2,
					content : '请设置分页装载容器！'
				});
				return false;
			}
			
			if(isNaN(pageCount)){
				art.dialog({
					title : '提示',
					icon : 'warning',
					time: 2,
					content : '请设置分页总数！'
				});
				return false;
			}
			
			if(isNaN(pageNo)){
				art.dialog({
					title : '提示',
					icon : 'warning',
					time: 2,
					content : '请设置当前页数！'
				});
				return false;
			}
			
			if(!cb){
				art.dialog({
					title : '提示',
					icon : 'warning',
					time: 2,
					content : '请设置翻页回调函数！'
				});
				return false;
			}
			if(!pageBar){
				pageBar = false;
			}
			if(pageCount==0){
				dest.html('暂无数据');
				return;
			}
			util.paginationSys.turnPage(dest , pageCount , pageNo , cb , pageBar, preNum , allNum);
		}
	},
	/**
	 * 获取cookie的值
	 */
	getCookieValue : function(cookieName) {
		var cookieArray = document.cookie.split("; ");
		for ( var i = 0; i < cookieArray.length; i++) {
			var arr = cookieArray[i].split("=");
			if (arr[0] == cookieName) {
				return unescape(arr[1]);
			}
		}
		return "";
	},
	/**
	 * 设置cookie中的信息
	 * @param name cookie的name
	 * @param name cookie的value
	 */
	setCookie : function(name, value, expires, path, domain, secure) {
		var today = new Date();
		today.setTime(today.getTime());
		if (expires) {
			expires = expires * 1000 * 60 * 60 * 24;
		}
		var expires_date = new Date(today.getTime() + (expires));
		document.cookie = name + '=' + escape(value)
				+ ((expires) ? ';expires=' + expires_date.toGMTString() : '') + //expires.toGMTString()         
				((path) ? ';path=' + path : '')
				+ ((domain) ? ';domain=' + domain : '')
				+ ((secure) ? ';secure' : '');
	},
	/**
	 * 删除cookie
	 * @param name cookie的name
	 */
	deleteCookie : function(name, path, domain) {
		if (util.getCookieValue(name)) {
			document.cookie = name + '=' + ((path) ? ';path=' + path : '')
					+ ((domain) ? ';domain=' + domain : '')
					+ ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
		}
	},
	/**
	 * 删除所有cookie
	 * @param 
	 */
	deleteAllCookie : function(path, domain) {
		var cookieArray = document.cookie.split("; ");
		for ( var i = 0; i < cookieArray.length; i++) {
			var arr = cookieArray[i].split("=");
			var name = arr[0];
			if (name != "") {
				document.cookie = name + '=' + ((path) ? ';path=' + path : '')
						+ ((domain) ? ';domain=' + domain : '')
						+ ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
			}
		}
	},
	/**
	 * 随机图片
	 */
	refreshCaptchaImg : function(imageId) {
		$('#' + imageId).attr("src", sys.path + "/images/loading.gif");
		$('#' + imageId).attr("src",
				sys.path + "/validateImage?a=" + util.getRandomStr());
	},
	/**
	 * 随机数字
	 */
	getRandomStr : function() {
		return parseInt(Math.random() * 1000);
	},
	/**
	 * 截取字符串
	 */
	interceptString : function(str, length) {
		if (str.length > length) {
			str = str.substr(0, length) + "...";
		}
		return str;
	},
	// 去左右空格;
	LRtrim : function(s) {
		function ltrim(s) {
			return s.replace(/^\s*/, "");
		}
		// 去右空格;
		function rtrim(s) {
			return s.replace(/\s*$/, "");
		}
		return rtrim(ltrim(s));
	},
	
	/**
	 * 当前时间
	 * 
	 * @return 'yyyy-mm-dd'
	 */
	getCurrentDate : function() {
		var curDate = new Date();
		var month = curDate.getMonth() + 1;
		var day = curDate.getDate();
		if (month < 10)
			month = "0" + month;
		if (day < 10)
			day = "0" + day;
		return curDate.getFullYear() + "-" + month + "-" + day;
	},
	/**
	 * 去字符串空格
	 */
	trim : function(temp) {
		return temp.replace(/(^\s*)|(\s*$)/g, "");
	},
	/***
	 * 计算两个时间之间的时间差
	 * */
	computeDate:function(s,e){
		if(s && e){
			var sts = Date.parse(s.replace(/-/g,"/"));
			var st = new Date(sts);
			var ets = Date.parse(e.replace(/-/g,"/"));
			var et = new Date(ets);
			return et.getTime()-st.getTime();
		}
		//alert(et.getTime()-st.getTime()/);
	},	
	 
	Jqtrim : function(str) {
		var result;
		var is_global = "g";
		result = str.replace(/(^\s+)|(\s+$)/g, "");
		if (is_global.toLowerCase() == "g")
			result = result.replace(/\s/g, "");
		return result;
	},
	/**
	 * 比较2个时间天数间隔,格式:2010-06-20 12:12
	 */
	compareDate : function(date1, date2) {
		var time = new Date(date2.replace(/-/g, "\/")).getTime()
				- new Date(date1.replace(/-/g, "\/")).getTime();
		// 开始时间晚于结束时间
		if (time < 0)
			return time;
		// 计算天数
		return time / (86400 * 1000);
	},
	/**
	 * 去最接近的数字
	 */
	proximalNum : function(num, array) {
		var dis = Math.abs(array[0] - num);
		var result = num;
		for ( var i = 0; i < array.length; i++) {
			var temp = Math.abs(array[i] - num);
			if (dis > temp) {
				dis = temp;
				result = array[i];
			}
		}
		if (result < array[0]) {
			result = array[0];
		} else if (result > array[array.length - 1]) {
			result = array[array.length - 1];
		}
		return result;
	},
	/**
	 * 判断是否是允许上传的图片类型
	 */
	uploadImageEnabled : function(imageName) {
		var point = imageName.lastIndexOf(".");
		var type = imageName.substr(point);
		if (type != ".jpg" && type != ".JPG" && type != ".gif"
				&& type != ".GIF" && type != ".png" && type != ".PNG"
				&& type != ".bmp" && type != ".BMP" && type != ".jpeg"
				&& type != ".JPEG") {
			return false;
		}
		return true;
	},
	/**
	 * 获取文件大小
	 */
	getFileSize : function(obj) {
		var filesize = 0;
		if (Sys.firefox) {
			filesize = obj.files[0].fileSize;
		} else if (Sys.ie) {
			var filePath = obj.value;
			var image = new Image();
			image.dynsrc = filePath;
			filesize = image.fileSize;
		}
		return filesize;
	},

	/**
	 * HTMLEncode方法编码
	 */
	HTMLEnCode : function(str) {
		var s = "";
		if (str.length == 0)
			return "";
		s = str.replace(/&/g, "&amp;");
		s = s.replace(/</g, "&lt;");
		s = s.replace(/>/g, "&gt;");
		s = s.replace(/  /g, "&nbsp;");
		s = s.replace(/\'/g, "&apos;");
		s = s.replace(/\"/g, "&quot;");
		// s = s.replace(/\n/g, "<br>");
		return s;
	},

	/**
	 * HTMLDeCode方法解码
	 */
	HTMLDeCode : function(str) {
		var s = "";
		if (str.length == 0)
			return "";
		s = str.replace(/&amp;/g, "&");
		s = s.replace(/&lt;/g, "<");
		s = s.replace(/&gt;/g, ">");
		s = s.replace(/&nbsp;/g, "  ");
		s = s.replace(/&apos;/g, "\'");
		s = s.replace(/&quot;/g, "\"");
		// s = s.replace(/<br>/g, "\n");
		return s;
	},

	/**
	 * 按长度截取字符串
	 */
	subStr : function(str, Len) {
		return (str.length > Len) ? (str.substring(0, Len - 3) + "...") : str;
	},
	/**
	 * 计算字符串长度,中文按2计算
	 */
	getBytesLength : function(str) {
		return str.replace(/[^\x00-\xff]/g, 'xx').length;
	},
	/**
	 * 获得字符串实际长度，中文2，英文1 要获得长度的字符串
	 */
	getLength : function(str) {
		var realLength = 0, len = str.length, charCode = -1;
		for ( var i = 0; i < len; i++) {
			charCode = str.charCodeAt(i);
			if (charCode >= 0 && charCode <= 128)
				realLength += 1;
			else
				realLength += 2;
		}
		return realLength;
	},
	/**
	 * 取文件扩展名,不包括"."
	 */
	getExtension : function(filename) {
		var defExt = "";
		if ((filename != null) && (filename.length > 0)) {
			var i = filename.lastIndexOf('.');

			if ((i > -1) && (i < (filename.length - 1))) {
				return filename.substring(i + 1);
			}
		}
		return defExt;
	},

	/**
	 * 格式化容量
	 * 
	 * @size 单位Byte
	 */
	formatSpace : function(size) {
		var str = "";
		if (size > 0 && size < 1024) {
			str = size + " Byte";
		} else if (size > 1024 && size < Math.pow(1024, 2)) {
			str = (size / 1024).toFixed(2) + " KB";
		} else if (size > Math.pow(1024, 2) && size < Math.pow(1024, 3)) {
			str = (size / Math.pow(1024, 2)).toFixed(2) + " MB";
		} else if (size > Math.pow(1024, 3) && size < Math.pow(1024, 4)) {
			str = (size / Math.pow(1024, 3)).toFixed(2) + " GB";
		} else if (size > Math.pow(1024, 4) && size < Math.pow(1024, 5)) {
			str = (size / Math.pow(1024, 4)).toFixed(2) + " TB";
		}
		return str;
	},
//	/**
//	 * 转义html特殊字符
//	 */
//	escapeHtmlSpecialChar : function(str) {
//		return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g,
//				'&gt;').replace(/"/g, '&quot;');
//	},
	/**
	 * 求两个时间的天数差 日期格式为 YYYY-MM-dd
	 */
	daysBetween : function(DateOne, DateTwo) {
		var OneMonth = DateOne.substring(5, DateOne.lastIndexOf('-'));
		var OneDay = DateOne.substring(DateOne.length,
				DateOne.lastIndexOf('-') + 1);
		var OneYear = DateOne.substring(0, DateOne.indexOf('-'));

		var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf('-'));
		var TwoDay = DateTwo.substring(DateTwo.length,
				DateTwo.lastIndexOf('-') + 1);
		var TwoYear = DateTwo.substring(0, DateTwo.indexOf('-'));

		var cha = ((Date.parse(OneMonth + '/' + OneDay + '/' + OneYear) - Date
				.parse(TwoMonth + '/' + TwoDay + '/' + TwoYear)) / 86400000);
		return Math.abs(cha);
	},
	/**
	 * 格式化日期
	 */
	dateFormat : function(date) {
		var dateStr = (date.year + 1900) + '/' + (date.month + 1) + '/'
				+ date.date;
		var timeStr = date.hours + ':'
				+ (date.minutes < 10 ? '0' + date.minutes : date.minutes);
		var today = new Date();
		var todayStr = today.getFullYear() + '/' + (today.getMonth() + 1) + '/'
				+ today.getDate();
		var d = new Date(dateStr);
		var todayDate = new Date(todayStr);
		var newdate;
		if (todayDate - d == 0) {
			newdate = '今天   ' + timeStr;
		} else if (todayDate - d == 86400000) {
			newdate = '昨天   ' + timeStr;
		} else {
			newdate = (date.month + 1) + '月' + date.date + '日' + '    '
					+ timeStr;
		}
		return newdate;
	},
	/**
	 * ajax请求 Parm格式:data = {'page.currentPage':5};
	 */
	sendAjax : function(URL, Parm, SuccFun, ErrorFun, PostTYPe, dataType,
			cacheType, asyncType,completeFunc) {
		PostTYPe = (PostTYPe == null) ? "GET" : PostTYPe;
		cacheType = (cacheType == null) ? false : true;
		dataType = (dataType == null) ? "json" : dataType;
		ErrorFun = (ErrorFun == null) ? util.ajaxError : ErrorFun;
		asyncType = (asyncType == null) ? true : false;
		
		$.ajax({
			url : URL,
			data : Parm,
			cache : cacheType,
			type : PostTYPe,
			dataType : dataType,
			success : function(data){
				if(!data || data=='relogin'){
					util.relogin();
				}else{
					SuccFun(data);
				}
			},
			async : asyncType,
			error : function(data){
				if(data.responseText=='relogin'){
					util.relogin();
				}else{
					ErrorFun();
				}
			},
			complete : function(XMLHttpRequest, textStatus) {
				var s = XMLHttpRequest.status;
				if (s == 202) {
					util.relogin();
				}
				if(typeof completeFunc == 'function'){
					completeFunc();
				}
			}
		});
	},
	relogin:function(){
		util.showWarningMsg("请重新登录!");
//		var hf = window.location.href;
//		hf = hf.replace('view/index.html','perlogin.html');
		window.location.href = "login.html";
	},
	sendAjaxLoading :  function(URL, Parm, SuccFun, Mess, RequestType, ErrorFun, dataType,
			cacheType, asyncType){
		RequestType = (RequestType == null) ? "POST" : RequestType;
		Mess = (Mess == null) ? sys.SUBMITING_TEXT : Mess;
		var maskDiv = $.msgBox.maskDiv;
		maskDiv.show(Mess);
		util.sendAjax(URL, Parm, SuccFun, ErrorFun, RequestType, dataType, cacheType, asyncType,function() {
			maskDiv.close();
		});
	},
	showMsg : function(mess,okFunc,time){
		time = time || 1.5;
		art.dialog({
			title : '温馨提示',
			icon : 'warning',
			content : mess,
			ok : okFunc,
			okVal : '确定',
			cancel : function(){},
			cancelVal : '取消',
			time:time	
		});
	},
	showSucceedMsg : function(mess,time){
		time = time || 1.5;
		art.dialog({
		title : '温馨提示',
		icon : 'succeed',
		content : mess,
		time: time
	});},
	showWarningMsg : function(mess,time){
		time = time || 1.5;
		art.dialog({
		title : '温馨提示',
		icon : 'warning',
		content : mess,
		time: time
	});},
	/**
	 * 错误
	 * 
	 * @param data
	 * @param textStatus
	 */
	ajaxError : function(data, textStatus) {
		var msg = '';
		if (textStatus == 'timeout') {
			msg = '数据请求超时，请稍候再试。(timeout)';
		} else if (textStatus == 'error') {
			msg = '服务器异常，请稍候再试。(error)';
		} else if (textStatus == 'parsererror') {
			msg = '响应数据格式错误。(parsererror)';
		} else {
			msg = '请求数据失败，请稍候再试。(' + textStatus + ')';
		}
	},
	loadError : function(info) {
		var msg = '<div class="warningTip lh50">' + info + '</div>';
		$.msgBox.window({
			title : "温馨提示",
			html : msg,
			height : 100,
			showMask : true,
			cls : "shortBox"
		});
		/*
		 * $.msgBox.alert({ title : "温馨提示", msg : info, icon : "error", textYes :
		 * "关 闭", width : 350 });
		 */
	},
	tip : function(info) {
		$.msgBox.alert({
			title : '温馨提示',
			cls : 'shortBox popTips',
			msg : info,
			icon : 'warning',
			showMash : false
		});
	},

	/**
	 * 填充分页层, obj:JQUERY对象，分页层 callbackFun : 回调方法 page :
	 * JS对象,格式{'counts':20,'currentPage':0,'perPageSize':10}
	 */
	fillPaginations : function(obj, callbackFun, page) {
		obj.pagination(page.totalCount, {
			first_text : "首页",
			prev_text : "上一页",
			next_text : "下一页",
			last_text : "尾页",
			ellipse_text : "...",
			current_page : page.currentPage - 1,
			num_edge_entries : 1,
			num_display_entries : 7,
			prev_show_always : true,
			next_show_always : true,
			items_per_page : page.pageSize,
			callback : callbackFun
		});
	},
	/**
	 * 只能输入数字 事件绑定到属性num="yes"的元素 numzero="yes" 能以0开头
	 */
	onlyInputNum : function() {
		//		var regex = /\D|^0/g;
		var regex = /^[1-9]\d*$/;
		var zeroregex = /\D/g;
		$('input[num=yes]').each(function() {
			$(this).keyup(function() {// 输入
				var tmptxt = $(this).val();
				if (!regex.test(tmptxt)) {
					tmptxt = '';
				}
				$(this).val(tmptxt);
			}).bind("paste", function() {// 粘贴
				var tmptxt = $(this).val();
				if (!regex.test(tmptxt)) {
					tmptxt = '';
				}
				$(this).val(tmptxt);
			}).css("ime-mode", "disabled");// 禁用输入法
		});
		$('input[numzero=yes]').each(function() {
			$(this).keyup(function() {// 输入
				var tmptxt = $(this).val();
				tmptxt = tmptxt.replace(zeroregex, '');
				$(this).val(tmptxt);
			}).bind("paste", function() {// 粘贴
				var tmptxt = $(this).val();
				$(this).val(tmptxt.replace(zeroregex, ''));
			}).css("ime-mode", "disabled");// 禁用输入法
		});

	},
	/**
	 * 输入框显示默认值 元素加上默认属性 default="默认值"
	 * 
	 * @param id
	 */
	defaultValue : function() {
		// .c_999{color:#999!important;}
		var defaultCss = "c_999";
		// 如果文本框为只读，不做任务处理
		$("input[default]").each(function() {
			var obj = $(this);
			if (!obj.attr('readonly')) {
				if (!obj.val()) {
					obj.val(obj.attr('default'));
					obj.addClass(defaultCss);
				}
			}
			obj.focusin(function() {// 获得焦点清除默认提示
				if (!obj.attr('readonly')) {
					if (obj.val() == obj.attr('default')) {
						obj.removeClass(defaultCss);
						obj.val("");
					}
				}
			}).focusout(function() {// 失去焦点显示默认提示
				if (!obj.attr('readonly')) {
					if (!obj.val()) {
						obj.val(obj.attr('default'));
						obj.addClass(defaultCss);
					}
				}
			});
		});

		$("textarea[default]").each(function() {
			var obj = $(this);
			if (!obj.attr('readonly')) {
				if (!obj.val()) {
					obj.val(obj.attr('default'));
					obj.addClass(defaultCss);
				}
			}
			obj.focus(function() {// 获得焦点清除默认提示
				if (!obj.attr('readonly')) {
					if (obj.val() == obj.attr('default')) {
						obj.val("");
						obj.removeClass(defaultCss);
					}
				}
			}).blur(function() {// 失去焦点显示默认提示
				if (!obj.attr('readonly')) {
					if (!obj.val()) {
						obj.val(obj.attr('default'));
						obj.addClass(defaultCss);
					}
				}
			});
		});
	},
	/**
	 * @param elename
	 *            提示信息的元素
	 * @param tip
	 *            提示信息内容
	 * @param twidth
	 *            提示框宽度) 默认150
	 * @param tpadding
	 *            提示框距左边宽度 默认10
	 */
	showTip : function(elename, tip, twidth, tpadding) {
		if (!twidth) {
			twidth = 150;
		}
		if (!tpadding) {
			tpadding = 10;
		}

		$("#" + elename).addClass("ipt-error");
		$("#" + elename + "DefaultTip").hide();
		$("#" + elename + "Tip").addClass('tipbox').attr(
				"style",
				'width: ' + twidth + 'px; text-align: left;padding-left: '
						+ tpadding + 'px').html(tip).show();
	},
	/**
	 * 默认tip友好提示,可自己扩充
	 * 
	 * @param id
	 *            名称
	 * @param info
	 *            提示信息,默认取标签title的值
	 */
	defaultTip : function(id, info) {
		var obj = $('#' + id);
		info = (info == null) ? obj.attr("title") : info;
		$('#' + id).poshytip({
			className : 'tip-ass', // 提示信息样式
			content : info, // 提示信息内容，默认取得标签title
			showOn : 'focus', // 触发显示提示信息，可选值:'hover', 'focus',
			// 'none'，注：none主要是用于手动控制显示与show结合使用
			alignTo : 'target', // 显示位置 ，可选值：'cursor', 'target'
			alignX : 'right', // X轴位置
			alignY : 'center', // Y轴位置
			offsetX : 5, // X轴偏移
			allowTipHover : false, // 允许悬停显示
			fade : true, // 逐渐消失
			slide : true
		// 慢慢滑动
		});
	},
	/**
	 * 默认tip警告提示
	 * 
	 * @param id
	 *            名称
	 * @param info
	 *            提示信息
	 */
	warningTip : function(id, info) {
		$('#' + id).poshytip({
			className : 'tip-ass-error', // 提示信息样式
			content : info, // 提示信息内容，默认取得标签title
			showOn : 'focus', // 触发显示提示信息，可选值:'hover', 'focus',
			// 'none'，注：none主要是用于手动控制显示与show结合使用
			alignTo : 'target', // 显示位置 ，可选值：'cursor', 'target'
			alignX : 'right', // X轴位置
			alignY : 'center', // Y轴位置
			offsetX : 5, // X轴偏移
			allowTipHover : false, // 允许悬停显示
			fade : true, // 逐渐消失
			slide : true
		// 慢慢滑动
		});
	},
	/***************************************************************************
	 * 格式化显示金额数字 id 临时存放的控件ID pfix 前缀 不需要前缀 ' ', len 保留小数几位 values 需要格式的数字
	 */
	formatMoney : function(id, pfix, len, values) {
		values = Math.round(parseFloat(values)) / 100;
		var xsd = values.toString().split(".");
		if (xsd.length == 1) {
			values = values.toString() + ".00";
			return values;
		}
		if (xsd.length > 1) {
			if (xsd[1].length < 2) {
				values = values.toString() + "0";
			}
			return values;
		}
	},
	// 截取字符串（中文占两个字符）
	cutString : function(str, len) {
		var str_length = 0;
		var str_len = 0;
		str_cut = new String();
		str_len = str.length;
		for ( var i = 0; i < str_len; i++) {
			a = str.charAt(i);
			str_length++;
			if (escape(a).length > 4) {
				//中文字符的长度经编码之后大于4
				str_length++;
			}
			str_cut = str_cut.concat(a);
			if (str_length >= len) {
				str_cut = str_cut.concat("...");
				return str_cut;
			}
		}
		//如果给定字符串小于指定长度，则返回源字符串；
		if (str_length < len) {
			return str;
		}
	},
	/**
	 * 日期转换
	 * yyyy splitStr mm splitStr dd hh:mm:ss
	 * @param {} date  splitStr 分隔字符
	 * @return {21:23 2012-01-02}
	 */
	dateFormatSecNew : function(date, splitStr) {
		if (date) {
			if (!splitStr) {
				splitStr = "/";
			}
			var month = parseInt(date.month) < 9 ? "0" + (date.month + 1)
					: date.month + 1;
			var day = parseInt(date.date) < 10 ? "0" + date.date : date.date;
			var year = 1900 + date.year;
			var hours = parseInt(date.hours) < 10 ? "0" + date.hours
					: date.hours;
			var minutes = parseInt(date.minutes) < 10 ? "0" + date.minutes
					: date.minutes;
			var seconds = parseInt(date.seconds) < 10 ? "0" + date.seconds
					: date.seconds;
			return year + splitStr + month + splitStr + day + ' ' + hours + ":"
					+ minutes;
		} else {
			return "未知";
		}
	},
	/**
	 * 日期转换
	 * yyyy splitStr mm splitStr dd hh:mm:ss
	 * @param {} date  splitStr 分隔字符
	 * @return {21:23 2012-01-02}
	 */
	dateFormatDate : function(date, splitStr) {
		if (date) {
			if (!splitStr) {
				splitStr = "/";
			}
			var month = parseInt(date.month) < 9 ? "0" + (date.month + 1)
					: date.month + 1;
			var day = parseInt(date.date) < 10 ? "0" + date.date : date.date;
			var year = 1900 + date.year;
			return year + splitStr + month + splitStr + day;
		} else {
			return "未知";
		}
	},
	ajaxSubmitForm:function(formId,target,func){
		$('#'+formId).ajaxSubmit(function(content){
        	//$('#'+target).empty();
        	$('#'+target).html(content);
        	if(typeof func == 'function'){
        		func(content);
        	}
        }); 
        return false; 
	},
	//该函数的功能用来阻止事件冒泡．并兼容多浏览器
	stopBubble:function(e){
		 //如果传入了事件对象.那么就是非IE浏览器
		if(e && e.stopPropagation){
			e.stopPropagation();
		}else{
			//否则,我们得使用IE的方式来取消事件冒泡
			window.event.cancelBubble = true;
		}
	},
	/**
	 * url  加载路径 
	 * target 
	 * args 默认使用 GET 方式，传递附加参数时自动转换为 POST 方式
	 * callback 回调函数
	 * isClear  加载是否清空target内容
	 */
	loadHtml : function(url,target,args,callback,isClear,showLoading,loadingText){
		if(util.intervalkey){
			clearInterval(util.intervalkey);
			util.intervalkey=null;
		}
		var screen_content = $('#'+target);
		if(isClear){
			screen_content.empty();
		}
		var maskDiv;
		if(showLoading){
			maskDiv = $.msgBox.maskDiv;
			loadingText = (loadingText == null) ? sys.LOADING_TEXT : loadingText;
			maskDiv.show(loadingText);
		}
		screen_content.load(url,args,function(response,status,xhr){
			if(typeof(callback) == 'function'){
				callback();
			}
			if(showLoading){
				maskDiv.close();
				maskDiv = null;
			}
			if(status == 'error'){
				var d = $.parseJSON(response);
				util.showMsg(d.errorMessage, function(){window.location.href = sys.path + "/login";});
			}else{
				try{
					$(".ScreenCss").remove();
					$(".iLoading").remove();
					$(".TB_HideSelect").remove();
					$(".mBlogLayer").remove();
				}catch(e){
					
				}
			}
		});
	},
	loadContent : function(url,containerId,args,callback,isClear,showLoading,loadingText){
		containerId = containerId || 'screen_content';
		util.loadHtml(url,containerId,args,callback,isClear,showLoading,loadingText);
		return;
	},
	obtainCheckBoxArrValByName : function(elemName){
		var vals = new Array();
		var elems = $("input[name='"+elemName+"']:checked");
		elems.each(function(i,v){
			v = $(v);
			vals.push(v.val());
		});
		return vals;
	},
	/**设置以post方式提交
	 * @param URL 提交地址
	 * @param PARAMS 参数,数组{key:value,key:value}
	 * @returns {___temp0}
	 */
	postform :function(URL, PARAMS) {        
	    var temp = document.createElement("form");        
	    temp.action = URL;        
	    temp.method = "post";        
	    temp.style.display = "none";        
	    for (var x in PARAMS) {        
	        var opt = document.createElement("input");        
	        opt.name = x;        
	        opt.value = PARAMS[x];               
	        temp.appendChild(opt);        
	    }        
	    document.body.appendChild(temp);        
	    temp.submit();        
	    return temp;        
	},
	/**
	 * 将数值四舍五入(保留2位小数)后格式化成金额形式
	 *
	 * @param num 数值(Number或者String)
	 * @return 金额格式的字符串,如'1,234,567.45'
	 * @type String
	 */
	formatCurrency:function(num) {
	    num = num.toString().replace(/\$|\,/g,'');
	    if(isNaN(num))
	    num = "0";
	    sign = (num == (num = Math.abs(num)));
	    num = Math.floor(num*100+0.50000000001);
	    cents = num%100;
	    num = Math.floor(num/100).toString();
	    if(cents<10)
	    cents = "0" + cents;
	    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	    num = num.substring(0,num.length-(4*i+3))+','+
	    num.substring(num.length-(4*i+3));
	    return (((sign)?'':'-') + num + '.' + cents);
	},
	
	/**
	 * 字符串截取处理
	 * @param value
	 * @param len
	 */
	charRange:function(value, len){
		if(value==null){
			return "";
		}
		var length = value.length;
		if(length<=24){
			return value;
		}else{
			var temp = value.substr(0,24);
			if(len!=null)
				temp = value.substr(0,len);
			temp += "...";
			return temp;
		}
	},
	/**
	 * 淡入淡出提示框
	 */
	fadeOutIn:function(str){
		$.msgBox.alert({
			showMask:true,
			width:150
		});
		var _html = '<div class="coverDIV" style="display:none;position:absolute;top:0;left:0;z-index:9999;background:#000;opacity:0.5;filter:alpha(opacity=50);">'+
	      			'<div style="text-align:center;background:#69AF01;width:120px;margin:0 auto;height:30px;line-height:30px;color:#fff;border-radius:5px;position:relative;top:40%;">'+str+'</div></div>';
		$("#msgBox_div").replaceWith(_html);
		var _w = $(window).width(),	_h = $(window).height();
		$(".coverDIV").css({"width":_w,"height":_h}).fadeIn(1500).fadeOut(1500);
	},
	/**
	 * 获取地址栏参数
	 */
	getQueStr : function(name, url) {
		var u = url ? url : window.location.search, r = u.substr(1).match(
				new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"));
		return ((null != r) ? (decodeURIComponent(r[2]) || '') : (''));
	},
	
	/**
	 * 弹出提示框
	 */
	alertMessage:function(message,clickfunction){
		layer.confirm(message, {
			  title:'系统提示',
			  btn: ['确定']
			});
	},
};